Il tuo compito consiste nell'implementare un Albero Binario di Ricerca che supporta quattro operazioni fondamentali.
- Il numero di operazioni è $N$, con $1 \le N \le 2 \cdot 10^5$.
- ins k: Inserisce una chiave intera $k$ nell'ABR. Se $k$ esiste già, questa operazione non fa nulla.
- trova k: Cerca la chiave $k$. Restituisce 'vero' se esiste, altrimenti 'falso'.
- succ k: Trova il successore di $k$—la chiave più piccola nell'albero che sia strettamente maggiore di $k$. Restituisce 'null' se non esiste alcun successore.
- pred k: Trova il predecessore di $k$—la chiave più grande nell'albero che sia strettamente minore di $k$. Restituisce 'null' se non esiste alcun predecessore.
- Assunzione Chiave: Per le query di successore e predecessore, si garantisce che la chiave $k$ sia presente nell'albero.